package cn.hacynn.nd.mapper;

import cn.hacynn.nd.pojo.dto.TaskDTO;
import cn.hacynn.nd.pojo.entity.Task;
import cn.hacynn.nd.pojo.vo.FinishedTaskVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * @Author Hacynn
 * @Date 2024/5/26 13:04
 * @Version 1.0
 */
@Mapper
public interface TaskMapper extends BaseMapper<Task> {

    /**
     * 根据TaskDTO查询任务信息
     * @param task
     * @return
     */
    Task getByTaskDTO(TaskDTO task);


    /**
     * 根据用户id获取已完成的上传任务列表（降序排序）
     * @param userId
     * @return
     */
    @Select("select * from task where user_id = #{userId} and is_finished = 1 and is_cancelled = 0 order by create_time desc")
    List<Task> getFinishedByUserId(Long userId);
}
